package com.company.cloud.page.modules.mgr.controller.req;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.company.cloud.common.bean.BaseParam;
import com.company.cloud.common.bean.DataMapEntity;
import com.company.cloud.page.modules.cache.models.DsAttributeRelModel;
import com.company.cloud.page.modules.cache.models.DsModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotEmpty;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Set;

@Getter
@Setter
public class WebPageComponentConfigAdd2EditParam extends BaseParam {



    @ApiModelProperty(value = "组件编号",required = true)
    @NotEmpty(message = "组件编号不能为空")
    private String code;


    @ApiModelProperty(value = "组件名称",required = true)
    @NotEmpty(message = "组件名称不能为空")
    private String name;


    @ApiModelProperty(value = "组件图标")
    private String icon;


    @ApiModelProperty(value = "组件分类")
    private String type;


    @ApiModelProperty(value = "组件备注")
    private String remark;


    @ApiModelProperty(value = "组件使用范围")
    private Set<String> scope;


    @ApiModelProperty(value = "组件代码内容",required = true)
    @NotEmpty(message = "组件代码内容不能为空")
    private String content;


    @ApiModelProperty(value = "JS文件路径")
    private Set<String> jsUrls;


    @ApiModelProperty(value = "CSS文件路径")
    private Set<String> cssUrls;


    @ApiModelProperty(value = "组件属性配置(前端定义)")
    private String attribute;


    @ApiModelProperty(value = "组件数据分类[PageDataTypeEnum]")
    private String dataType;


    @ApiModelProperty(value = "组件对象数据")
    private DataMapEntity data;

    @ApiModelProperty(value = "组件列表数据")
    private List<DataMapEntity> dataList;


    @ApiModelProperty(value = "组件数据源")
    private DsModel ds;


    @ApiModelProperty(value = "组件数据源与属性关联")
    private List<DsAttributeRelModel> dsAttributeRel;


    @ApiModelProperty(value = "显示顺序")
    private Integer orders=0;


    @ApiModelProperty(value = "状态")
    private String state;




}
